/**
*   @file    Os.h
*   @version 4.0.98
*
*   @brief   AUTOSAR OS - Brief file description (one line).
*   @details Detailed file description (can be multiple lines).
*
*   @addtogroup [OS]
*   @{
*/
/*==================================================================================================
*   Project              : AUTOSAR OS 4.0
*   Platform             : Arm Architecture
*   Peripheral           : CortexM4
*   Dependencies         : none
*
*   Autosar Version      : 4.0.3
*   Autosar Revision     : ASR_REL_4_0_REV_0003
*   Autosar Conf.Variant :
*   SW Version           : 4.0.98
*   Build Version        : ARMS32KV4_OS_4.0.98_ASR_REL_4_0_REV_0003
*
*   (c) Copyright 2011 - 2016 Freescale Semiconductor Inc.
*   Copyright 2017 NXP
*   All Rights Reserved.
==================================================================================================*/
/*==================================================================================================
==================================================================================================*/

#ifndef OS_H
#define OS_H


#ifdef __cplusplus
extern "C"
{
#endif


#include    <Os_version.h>    /**< OS version info */


#include    <Std_Types.h>     /**< Standard type header - from MCAL  */

#if !defined(OSDISABLE_AUTOSAR_VERSION_CHECK)
/* Check if OS and Std_Types.h are of the same Autosar version */
#if ((OS_AR_RELEASE_MAJOR_VERSION != STD_AR_RELEASE_MAJOR_VERSION) || \
     (OS_AR_RELEASE_MINOR_VERSION != STD_AR_RELEASE_MINOR_VERSION))
    #error "AutoSar Version Numbers of OS and Std_Types.h are different"
#endif
#endif /* defined(OSDISABLE_AUTOSAR_VERSION_CHECK) */


#include    <Rte_Os_Type.h>     /**< Rte Os type header */

#if !defined(OSDISABLE_AUTOSAR_VERSION_CHECK)
/* Check if OS and Rte_Os_Type.h are of the same Autosar version */
#if ((OS_AR_RELEASE_MAJOR_VERSION != RTE_OS_TYPE_AR_RELEASE_MAJOR_VERSION) || \
     (OS_AR_RELEASE_MINOR_VERSION != RTE_OS_TYPE_AR_RELEASE_MINOR_VERSION))
    #error "AutoSar Version Numbers of OS and Rte_Os_Type.h are different"
#endif
#endif /* defined(OSDISABLE_AUTOSAR_VERSION_CHECK) */



#include    <Os_prop_autosar_api.h> /**< for OSMC */


#include    <Os_types_public.h>   /**< Autosar OS public types  */

#include    <Os_application_api.h>
#include    <Os_alarm_api.h>
#include    <Os_schedule_table_api.h>
#include    <Os_compiler_api.h>
#include    <Os_counter_api.h>
#include    <Os_error_api.h>
#include    <Os_event_api.h>
#include    <Os_hook_api.h>

#include    <Os_ioc_api.h>

#include    <Os_isr_api.h>
#include    <Os_memory_api.h>



#include    <Os_object_api.h>
#include    <Os_resource_api.h>
#include    <Os_scheduler_api.h>
#include    <Os_setup_api.h>
#include    <Os_task_api.h>
#include    <Os_stack_api.h>

#include    <sample.h>


#if defined(APPTYPESH)
#include    APPTYPESH    /* User/application specific types and definitions */
#endif


#if !defined(OSCFGH)
#include    "Os_cfg.h"    /* OS Configuration (generated by SysGen) */
#else
#include    OSCFGH        /* OS Configuration (generated by SysGen), eg. sample1_cfg.h - the sample1_cfg.c companion */
#endif



#ifdef __cplusplus
}
#endif



#endif /*OS_H*/

/** @} */

